Humans can understand causality intuitively and apply their causal knowledge to everyday problems rather effortlessly. Computationally, causal inference can be a powerful tool for many practical applications. However, despite its long historical context, the process which causal inference is built upon has been relatively underdeveloped in the computational sense and is limited to philosophical discussion. In comparison to related topics in statistical learning, there is a deficiency in the understanding of how a causal model is built computationally. This gap needs to be closed as the accuracy and efficacy of causal inference is largely dependent on the causal model that it relies on. For example, it may be very straightforward to make inference about or diagnose a patient's symptoms given a causal model that defines the cause and effect relationship between diseases with symptoms, but almost always, such causal models so valuable for automatic patient diagnosis are handcrafted by human experts (e.g., doctors).